/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jandan.ui.model;

import java.util.Date;

import com.google.gwt.user.client.rpc.IsSerializable;

/**
 * 已学单词模型类
 * @author gong
 * @version 1.0
 */
public class LearnedWord implements IsSerializable {
	/**
	 * 已学单词ID
	 */
	private String learnedWordID;
	/**
	 * 对应的单词
	 */
	private Word word;
	/**
	 * 熟悉度
	 */
	private int degree;
	/**
	 * 学习次数
	 */
	private int learnedTimes;
	/**
	 * 开始学习日期
	 */
	private Date startLearnedDate;
	/**
	 * 最近学习日期
	 */
	private Date latestLearnedDate;
	/**
	 * 当日是否复习标志，只对当天所学的单词有效，
	 * 0表示未复习，1表示已复习
	 */
	private boolean todayReview = false;
	/**
	 * 权值，每轮学习过后，根据熟悉度，学习时间，学习次数，计算一个权值，然后根据
	 * 权值排序选取某一定范围权值的单词进行复习
	 */
	private double value;
	/**
	 * 是否结束标志，对于置为结束的单词在今后的学习和复习中都不会再出现
	 * 0表示为结束
	 * 1表示结束
	 */
	private boolean over;
	/**
	 * 单词ID
	 */
	private long wordID;
	/**
	 * 课程ID
	 */
	private long lessonID;

	public Word getWord() {
		return word;
	}

	public void setWord(Word word) {
		this.word = word;
	}
	
	public String getLearnedWordID(){
		return this.learnedWordID;
	}

	public void setLearnedWordID(String learnedWordID) {
		this.learnedWordID = learnedWordID;
	}


	public int getDegree() {
		return degree;
	}

	public void setDegree(int degree) {
		this.degree = degree;
	}

	public int getLearnedTimes() {
		return learnedTimes;
	}

	public void setLearnedTimes(int learnedTimes) {
		this.learnedTimes = learnedTimes;
	}

	public Date getStartLearnedDate() {
		return startLearnedDate;
	}

	public void setStartLearnedDate(Date startLearnedDate) {
		this.startLearnedDate = startLearnedDate;
	}

	public Date getLatestLearnedDate() {
		return latestLearnedDate;
	}

	public void setLatestLearnedDate(Date latestLearnedDate) {
		this.latestLearnedDate = latestLearnedDate;
	}

	public boolean isTodayReview() {
		return todayReview;
	}

	public void setTodayReview(boolean todayReview) {
		this.todayReview = todayReview;
	}

//	public byte getExceptionLabel() {
//		return exceptionLabel;
//	}
//
//	public void setExceptionLabel(byte exceptionLabel) {
//		this.exceptionLabel = exceptionLabel;
//	}
//
//	public boolean isResetLabel() {
//		return resetLabel;
//	}
//
//	public void setResetLabel(boolean resetLabel) {
//		this.resetLabel = resetLabel;
//	}

//	public Date getResetDate() {
//		return resetDate;
//	}
//
//	public void setResetDate(Date resetDate) {
//		this.resetDate = resetDate;
//	}

	public double getValue() {
		return value;
	}

	public void setValue(double value) {
		this.value = value;
	}

	public boolean isOver() {
		// TODO Auto-generated method stub
		return this.over;
	}

	public void setOver(boolean over) {
		this.over = over;
	}

	public long getWordID() {
		return wordID;
	}

	public void setWordID(long wordID) {
		this.wordID = wordID;
	}

	public long getLessonID() {
		return lessonID;
	}

	public void setLessonID(long lessonID) {
		this.lessonID = lessonID;
	}
}
